home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freaks Macintosh Archive
/
Freaks Macintosh Archive.bin
/
Freaks Macintosh Archives
/
Ham⁄GPS
/
SoftKiss.src.1.8 Folder
/
SoftKiss.src.1.8
/
(unloved)
/
sfk_test_macmail.c
< prev
next >
Wrap
C/C++ Source or Header
|
1990-08-01
|
3KB
|
145 lines
/*
* test mmc_macmail_glue
*/
#include <stdio.h>
#include <string.h>
#define NIL 0L
#include "mmc_core.h"
#include "mmc_macmail.h"
#include "mmc_drvr_find.h"
#include "mmc_prep.h"
#include "mmc_print_state.h"
struct {
int drvr_refnum;
int drvr_res_file;
}gl;
#define fatal_error(xx_arg) {printf xx_arg;fflush(stdout);exit(0);}
extern void exit(int);
char get_cmd(void);
char get_cmd()
{
char buf[100];
printf("mmc> ");
if(gets(buf)==NIL)
return 0;
return buf[0];
}
void get_state(void);
void get_state()
{
mmc_state s;
int err=mmc_get_drvr_state(gl.drvr_refnum,&s);
printf("getstate error code = %d\n",err);
if(err!=0)
return;
mmc_print_state(&s);
}
LDEF(void mmc_set_macmail(int on,char *name))
{
int err;
mmc_state s;
mmc_invent_state(&s);
if(on)
TURN_ON_FLAGS(s,MCS_snooze);
memcpy(s.mmc_uname,name,sizeof(s.mmc_uname));
err=mmc_set_drvr_state(gl.drvr_refnum,&s,MMC_setmmuser);
mmc_print_state(&s);
printf("init error code = %d\n",err);
}
LDEF(void gmmc_set_macmail(int on,char *name))
{
char **cproc;
void (*gproc)();
long inhibit;
cproc=GetNamedResource('PROC',"\pMailCheckGlue");
if(cproc==0)
fatal_error(("can't get MailCheckGlue resource %d",ResError()));
if((*cproc)==0)
fatal_error(("Got a empty handle MailCheckGlue resource %d",ResError()));
HLock(cproc);
gproc=((void (*)())(*cproc));
inhibit=MMC_normal;
if(on)
inhibit=MMC_inhibit;
(*gproc)(inhibit,name);
HUnlock(cproc);
ReleaseResource(cproc);
get_state();
}
void cmd_loop(void);
void cmd_loop()
{
while(TRUE) {
char ch=get_cmd();
switch(ch) {
case 'q':
return;
case 'g':
get_state();
break;
case '1':
mmc_set_macmail(TRUE,"\paw0g");
break;
case '2':
mmc_set_macmail(FALSE,"\paw0g");
break;
case '3':
mmc_set_macmail(TRUE,"\pjs5l");
break;
case '4':
mmc_set_macmail(FALSE,"\pjs5l");
break;
case 'a':
gmmc_set_macmail(TRUE,"\paw0g");
break;
case 'b':
gmmc_set_macmail(FALSE,"\paw0g");
break;
case 'c':
gmmc_set_macmail(TRUE,"\pjs5l");
break;
case 'd':
gmmc_set_macmail(FALSE,"\pjs5l");
break;
default:
printf("unrecignized command '%c'\n",ch);
}
}
}
void open_res(void);
void open_res()
{
int res_file;
res_file=OpenResFile("\pmmc_macmail_glue.rsrc");
if(res_file== -1) /*find the resource file?*/
fatal_error(("can't open resource file mmc_macmail_glue.rsrc file %d",ResError()));
UseResFile(res_file);
}
void print_status(void);
void print_status()
{
int new_ref_num;
gl.drvr_refnum=mmc_drvr_find(MMC_name,&new_ref_num);
printf("found ref=%d new ref=%d\n",gl.drvr_refnum,new_ref_num);
}
int main()
{
printf("mmc macmail glue test client test jig built on %s %s\n",__DATE__,__TIME__);
print_status();
open_res();
cmd_loop();
}